#ifndef _DEPTHEFFECT_H_
#define _DEPTHEFFECT_H_

#include <windows.h>
#include <xnamath.h>
#include <d3d11.h>
#include <d3dx11async.h>
#include <fstream>
#include <Effect11/d3dx11effect.h>


class DepthEffect
{
public:

	void Initialize();
	void Uninit();

	void SetTransformsMatrices(const XMFLOAT4X4&,const XMFLOAT4X4&,const XMFLOAT4X4&);
	
	void Render(int indexCount);

protected:
	void InitInputLayout();

	ID3D11Device* mDevice;
	ID3D11DeviceContext* mDeviceContext;
	ID3DX11Effect* mEffect;
	ID3DX11EffectTechnique* mTechnique;
	ID3D11InputLayout* mInputLayout;

	ID3DX11EffectMatrixVariable* mFxMatrixWorld;
	ID3DX11EffectMatrixVariable* mFxMatrixView;
	ID3DX11EffectMatrixVariable* mFxMatrixProjection;
};

#endif